AMK Cypher v3

short passwords work, but are easier to guess, and the longer the password used, the more varied and numerous the encryption functions used will be, offering much better security.

Be sure to copy the entire output (excluding the [start] and [end]. They're just there to help show if there's any extra spaces or line breaks). There may be multiple spaces and line breaks throughout and at the beginning and end, and the entire string is required for decryption.

How does it work?

Well, there are a small handful of different encryption and character shuffling functions included that altar the the contents of the message in a variety of ways (some swapping pairs of characters within the message itself, to shuffle it all up, and others replacing characters with ones not even in the original message (Caesar cipher style)).

These functions are run multiple times, and in a 'pseudo-random' order and quantity, based on numbers generated from the provided pass-key. (and any changes given to the pass-key wildly change the numbers it outputs)

So depending on the pass-key used to encrypt/decrypt the message, it will be modified into obscurity in a totally different way to other messages.

And the longer the pass-key used, the more encryption steps will be performed on the message. (3 steps for each character in the pass-key). So a pass-key that's 10 characters long will result in some combination of these encryption functions being used 30 times in total (each time, having different results, further mixing up the output beyond recognition)

Earlier versions of this cypher included some intense maths during the encryption/decryption process to slow things down by half a second or so, to try to mitigate against the effectiveness of brute force attacks, but given that computing power looks like it might be skyrocketing in terms of quantum computing, I assumed it's not worth bothering now.

But still, the longer the pass-key, the the longer it would take to brute force guess (the the more mixed up the encrypted message would be anyway).

In terms of what characters are supported in this version, Pretty much every typeable character on a UK keyboard layout, so go ahead and mix some numbers and symbols into your pass-keys to give brute force attackers more to have to work with.

If you want to really see how it all works under the hood, this whole things runs client side in javascript, so you can open the browser dev tools and investigate it all for yourself. (there are two javascript files. One's just for getting this page to properly interact with the cypher program. The other's where all the magic happens.)